package com.zwy.Shopping.servlet_;

import com.zwy.Shopping.model.CartItem;
import com.zwy.Shopping.model.User;

import javax.servlet.*;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.*;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
@WebServlet("/del_cartItem_by_index")
public class DelCartItemByIndex extends HttpServlet {

    @Override
    protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //1.获取index 和 user cartItemList
        //2通过user.getId  = cartItem.getUseId 获得cartItemListUser(临时变量)
        //3.在cartItemListUser获取到下标为index的对象然后在cartItemList中移除
        //4.减少cartItemNum
        //5.更新 cartItemNum 和 cartItemList
        String indexStr = request.getParameter("index");
        User user = (User) request.getSession().getAttribute("user");
        int userId = user.getId();
        int index = Integer.parseInt(indexStr);
        ServletContext application = this.getServletContext();
        List<CartItem> cartItemList = (List<CartItem>) application.getAttribute("cartItemList");
        List<CartItem> cartItemListUser = new ArrayList<>();
        for (CartItem cartItem : cartItemList){
            if(cartItem.getUserId()==userId){
                cartItemListUser.add(cartItem);
            }
        }
        if (index >= 0 && index < cartItemListUser.size()) {
           CartItem cartItem=cartItemListUser.get(index);
           cartItemList.remove(cartItem);
           application.setAttribute("cartItemList",cartItemList);
           int cartItemNum = (Integer) application.getAttribute("cartItemNum");
           cartItemNum--;
           application.setAttribute("cartItemNum",cartItemNum);
        } else {
            System.out.println("Invalid index");
        }
    }

}
